home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / SourceCode / AdobeExamples / NX_Scroll / DrawingView.h < prev    next >
Text File  |  1992-12-19  |  3KB  |  108 lines

  1.  
  2. /*
  3.  * (a)  (C) 1990 by Adobe Systems Incorporated. All rights reserved.
  4.  *
  5.  * (b)  If this Sample Code is distributed as part of the Display PostScript
  6.  *    System Software Development Kit from Adobe Systems Incorporated,
  7.  *    then this copy is designated as Development Software and its use is
  8.  *    subject to the terms of the License Agreement attached to such Kit.
  9.  *
  10.  * (c)  If this Sample Code is distributed independently, then the following
  11.  *    terms apply:
  12.  *
  13.  * (d)  This file may be freely copied and redistributed as long as:
  14.  *    1) Parts (a), (d), (e) and (f) continue to be included in the file,
  15.  *    2) If the file has been modified in any way, a notice of such
  16.  *      modification is conspicuously indicated.
  17.  *
  18.  * (e)  PostScript, Display PostScript, and Adobe are registered trademarks of
  19.  *    Adobe Systems Incorporated.
  20.  * 
  21.  * (f) THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO
  22.  *    CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED
  23.  *    AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED.
  24.  *    ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY
  25.  *    OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO
  26.  *    WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY)
  27.  *    WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY
  28.  *    DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, 
  29.  *    FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT
  30.  *    OF THIRD PARTY RIGHTS.
  31.  */
  32.  
  33. /*
  34.  *    DrawingView.h
  35.  *
  36.  *    This view represents the page that the image is drawn onto. It is
  37.  *    the doc view of the scroll view and can be scrolled.
  38.  *
  39.  *    Version:    2.0
  40.  *    Author:    Ken Fromm
  41.  *    History:
  42.  *            03-07-91        Added this comment.
  43.  */
  44.  
  45. #import "ScrollApp.h"
  46. #import <appkit/View.h>
  47. #import <appkit/timer.h>
  48.  
  49. #define REDBOOK        0
  50. #define UPATH        1
  51. #define UCACHE        2
  52.  
  53. #define MODALTRACE        10
  54.  
  55. typedef struct _Timing {
  56.     int        num_fills;
  57.     int        num_strokes;
  58.     int        num_subpaths;
  59.     int        num_draws;
  60.     float        drawingtime;
  61. }  Timing;
  62.  
  63. @interface DrawingView:View
  64. {
  65.     BOOL        displayFields,        /* display the drawing info? */
  66.                 eraseFields,        /* erase the drawing info? */
  67.                 drawFrame,        /* draw wire frame? */
  68.                 drawEverything,    /* draw every graphic? */
  69.                 drawCombined,    /* combine each sub path? */
  70.                 drawEveryPath;    /* selectively reset each parameter? */
  71.  
  72.     int            drawManner;        /* draw with red book wraps, user paths */
  73.                                 /* or user paths with ucache? */
  74.  
  75.     id            graphicsListId;    /* a list of graphics */
  76.  
  77.     NXPoint        drawOrigin;
  78.  
  79.     UPath        *drawUpath;
  80.  
  81.     Timing        timing_info;
  82. }
  83.  
  84. +newFrame:(NXRect *) frm;
  85. - free;
  86.  
  87. - setFieldsMode:(BOOL) mode;
  88. - setTypeOfDrawing:sender;
  89. - setSelectivity:sender;
  90. - setDrawingManner:sender;
  91. - setParameterSetting:sender;
  92. - setStroking:sender;
  93.  
  94. - setDrawOrigin:(NXPoint *)origin;
  95.  
  96. - freeGraphics;
  97. - insertList:listId;
  98.  
  99. - eraseFields:sender;
  100. - displayFields:sender;
  101.  
  102. - mouseDown:(NXEvent *)event;
  103.  
  104. - getUpath:(NXRect *) r  fromGraphic:graphicId;
  105. - drawSelf:(NXRect *)r :(int) count;
  106.  
  107. @end
  108.